home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Collections: Franz PD
/
Franz PD Disk #026 (19xx)(Amiga User Group Deutschland e.V.).zip
/
Franz PD Disk #026 (19xx)(Amiga User Group Deutschland e.V.).adf
/
AMIGA-Superhirn
/
Superhirn
(
.txt
)
< prev
next >
Wrap
AmigaBASIC Source Code
|
1988-12-10
|
6KB
|
245 lines
'SUPERHIRN © by Wolfram Frech
' Haidaerstr.3
' 5308 Rheinbach
GOSUB Menue
ON MENU GOSUB Menubearbeitung
MENU ON
nummer=1:DIM position(12,5)
SCREEN 1,320,256,4,1
WINDOW 1,"Superhirn by Wolfram Frech",,16,1
initbild:
FOR a=0 TO 11:PALETTE a,0,0,0:NEXT:'alles schwarz
COLOR 1,2
LINE (16*8,2*8)-(37*8,30*8),2,bf
LOCATE 3,1
FOR a=12 TO 1 STEP -1
PRINT:PRINT TAB(17);a:'Zahlen schreiben
NEXT
LOCATE 29,28:PRINT "A B C D E"
CIRCLE (27*8+3,26*8-5),5,1,,,1:PAINT STEP(0,0)
DIM kreis%(46):GET (27*8+3-5,26*8-5-5)-(27*8+3+5,26*8-5+5),kreis%
FOR a=1 TO 12
FOR b=1 TO 5
PUT ((25+2*b)*8-2,3+2*a*8+3),kreis%,PSET:'braune Kreise setzen
NEXT
NEXT
c=2
FOR a=1 TO 2
FOR b=1 TO 4
c=c+1
CIRCLE (30*b-15,30*a),10,c,,,1:PAINT (30*b-15,30*a),c:'Auswahlkreise
NEXT
NEXT
LINE (3,18)-(27,42),10,b:farbe=3
LINE (34,98)-(98,122),10,bf
LINE (32,96)-(96,120),11,bf
COLOR 9,11:LOCATE 14,6:PRINT "Fertig"
LINE (2,135)-(124,135),11
COLOR 10,0:LOCATE 19,2:PRINT "Mit Mehrfachen":doppel=0
LINE (8,168)-(40,192),10,b:PAINT (9,169),11,10:LINE (64,168)-(112,192),10,b
COLOR 9,11:LOCATE 23,3:PRINT "Ja":COLOR 10,0:LOCATE 23,10:PRINT "Nein"
LINE (2,210)-(58,234),10,bf:LINE (74,210)-(122,234),10,bf
LINE (0,208)-(56,232),11,bf:LINE (72,208)-(120,232),11,bf
COLOR 4:AREA (95,227):AREA (97,227):AREA (97,229):AREA (95,229):AREAFILL
COLOR 9,11:LOCATE 28,2:PRINT "Start":LOCATE 28,11:PRINT "Stop"
FOR a=0 TO 11:'Farbwerte einlesen
READ c1,c2,c3
PALETTE a,c1/15,c2/15,c3/15
NEXT
einstellungen:
WHILE MOUSE(0)<=0
SLEEP
WEND
IF MOUSE(4)>=168 AND MOUSE(4)<=192 THEN
IF MOUSE(3)>=8 AND MOUSE(3)<=40 THEN
doppel=0
COLOR 11:AREA (9,169):AREA (39,169):AREA (39,191):AREA (9,191):AREAFILL
COLOR 0:AREA (65,169):AREA (111,169):AREA (111,191):AREA (65,191):AREAFILL
COLOR 9,11:LOCATE 23,3:PRINT "Ja":COLOR 10,0:LOCATE 23,10:PRINT "Nein"
END IF
IF MOUSE(3)>=64 AND MOUSE(3)<=112 THEN
doppel=1
COLOR 0:AREA (9,169):AREA (39,169):AREA (39,191):AREA (9,191):AREAFILL
COLOR 11:AREA (65,169):AREA (111,169):AREA (111,191):AREA (65,191):AREAFILL
COLOR 10,0:LOCATE 23,3:PRINT "Ja":COLOR 9,11:LOCATE 23,10:PRINT "Nein"
END IF
END IF
IF MOUSE(4)>=208 AND MOUSE(4)<=232 THEN
IF MOUSE(3)>=0 AND MOUSE(3)<=56 THEN
COLOR 4:AREA (29,228):AREA (27,226):AREA (27,230):AREAFILL
COLOR 11:AREA (95,227):AREA (97,227):AREA (97,229):AREA (95,229):AREAFILL
GOTO start
END IF
END IF
GOTO einstellungen
start:
'zufall kreieren
RANDOMIZE TIMER
IF doppel=0 THEN
FOR a=1 TO 5
zufall(a)=INT(RND*(8))+3:vergeben(a)=zufall(a)
NEXT
END IF
IF doppel=1 THEN
FOR a=1 TO 5
zufall(a)=INT(RND*(8))+3:vergeben(a)=zufall(a)
doppeltest:
FOR b=1 TO a-1
IF zufall(a)=zufall(b) THEN
zufall(a)=INT(RND*(8))+3:vergeben(a)=zufall(a):GOTO doppeltest
END IF
NEXT
NEXT
END IF
nummer=1
maus:
WHILE MOUSE(0)<=0
SLEEP
WEND
IF MOUSE(4)>=208 AND MOUSE(4)<=232 THEN
IF MOUSE(3)>=72 AND MOUSE(3)<=120 THEN
COLOR 11:AREA (29,228):AREA (27,226):AREA (27,230):AREAFILL
COLOR 4:AREA (95,227):AREA (97,227):AREA (97,229):AREA (95,229):AREAFILL
GOTO deckauf
END IF
END IF
IF MOUSE(3)>214 THEN
FOR a=1 TO 5
IF (25+2*a)*8-2<MOUSE(3) AND MOUSE(3)<(25+2*a)*8+8 THEN
PAINT ((25+2*a)*8+3,16*(13-nummer)+11),farbe,2
buchst=a
position(nummer,buchst)=farbe
END IF
NEXT
GOTO maus
END IF
IF MOUSE(3)>=34 AND MOUSE(3)<=98 AND MOUSE(4)>=98 AND MOUSE(4)<=122 THEN
FOR b=1 TO 5:IF position(nummer,b)=0 THEN BEEP:GOTO maus
NEXT
COLOR 11:AREA (29,228):AREA (27,226):AREA (27,230):AREAFILL
GOTO vergleich
END IF
c=farbe:farbe=POINT(MOUSE(3),MOUSE(4)):IF farbe<3 THEN farbe=c:GOTO maus
IF c<7 THEN LINE (30*(c-2)-27,18)-(30*(c-2)-3,42),0,b :ELSE LINE (30*(c-6)-27,48)-(30*(c-6)-3,72),0,b
IF farbe<7 THEN LINE (30*(farbe-2)-27,18)-(30*(farbe-2)-3,42),10,b :ELSE LINE (30*(farbe-6)-27,48)-(30*(farbe-6)-3,72),10,b
GOTO maus
vergleich:
zaehler=1
FOR a=1 TO 5
IF position(nummer,a)=zufall(a) THEN
position(nummer,a)=1:vergeben(a)=0
CIRCLE ((19+zaehler)*8+3,16*(13-nummer)+11),3,10,,,1
PAINT STEP(0,0),10
zaehler=zaehler+1
END IF
NEXT
IF zaehler=6 THEN deckauf
FOR a=1 TO 5
FOR b=1 TO 5
IF position(nummer,a)=vergeben(b) THEN
position(nummer,a)=1:vergeben(b)=0
CIRCLE ((19+zaehler)*8+3,16*(13-nummer)+11),3,9,,,1
PAINT STEP(0,0),9
zaehler=zaehler+1
END IF
NEXT
NEXT
FOR a=1 TO 5:vergeben(a)=zufall(a):NEXT
nummer=nummer+1
IF nummer=13 THEN COLOR 9,0:LOCATE 1,1:PRINT "Leider nicht geschafft!":GOTO deckauf
'Blinkzeichen
FOR a=1 TO 4
COLOR 11:AREA (29,228):AREA (27,226):AREA (27,230):AREAFILL
FOR b=1 TO 500:NEXT
COLOR 4:AREA (29,228):AREA (27,226):AREA (27,230):AREAFILL
FOR b=1 TO 500:NEXT
NEXT
GOTO maus
deckauf:
COLOR 11:AREA (29,228):AREA (27,226):AREA (27,230):AREAFILL
COLOR 4:AREA (95,227):AREA (97,227):AREA (97,229):AREA (95,229):AREAFILL
FOR a=1 TO 5
CIRCLE ((25+2*a)*8+3,7),5,zufall(a),,,1:PAINT STEP(0,0),zufall(a)
NEXT
'blinken
FOR a=1 TO 5
LINE (212,0)-(290,14),0,b
FOR b=1 TO 1000:NEXT
LINE (212,0)-(290,14),10,b
FOR b=1 TO 1000:NEXT
NEXT
COLOR 9,0:LOCATE 1,1:PRINT SPACE$(23)
LOCATE 1,1:PRINT "Linke Maustaste!"
WHILE MOUSE(0)=0
SLEEP
WEND
COLOR 11,0:AREA (95,227):AREA (97,227):AREA (97,229):AREA (95,229):AREAFILL
defaults:
LOCATE 1,1:PRINT SPACE$(16)
LINE (212,0)-(290,14),0,bf
LINE (160,24)-(206,206),2,bf
nummer=1
FOR a=1 TO 12
FOR b=1 TO 5
position(a,b)=0
NEXT
NEXT
FOR a=1 TO 12
FOR b=1 TO 5
PUT ((25+2*b)*8-2,3+2*a*8+3),kreis%,PSET:'braune Kreise setzen
NEXT
NEXT
FOR a=1 TO 4
COLOR 11:AREA (95,227):AREA (97,227):AREA (97,229):AREA (95,229):AREAFILL
FOR b=1 TO 500:NEXT
COLOR 4:AREA (95,227):AREA (97,227):AREA (97,229):AREA (95,229):AREAFILL
FOR b=1 TO 500:NEXT
NEXT
GOTO einstellungen
'****************************************
Menue:
MENU 1,0,1,"Superhirn"
MENU 1,1,1,"Info "
MENU 1,2,1,"Ende "
MENU 2,0,1,""
MENU 3,0,1,""
MENU 4,0,1,""
RETURN
Menubearbeitung:
IF MENU(0)=1 THEN
IF MENU(1)=1 THEN GOSUB Info
IF MENU(1)=2 THEN SYSTEM
END IF
RETURN
Info:
WINDOW 2,"Superhirn Info Fenster",(0,0)-(311,80),22,1
PRINT "Superhirn geschrieben in Amiga-Basic"
PRINT "von Wolfram Frech"
PRINT :PRINT "Dieses Programm ist Public Domain"
PRINT "Für mehr Infos siehe das Superhirn.Doc"
PRINT "File."
PRINT :PRINT "Maus-Taste !"
WHILE MOUSE(0)=0
WEND
WINDOW CLOSE 2
RETURN
DATA 7,7,7,4,1,0,6,1,0
DATA 0,4,13,13,0,0,0,10,0,15,14,0,15,7,0,10,7,0,15,15,15,0,0,0
DATA 0,5,10